#include <signal.h>
#include <unistd.h>
#include <iostream>
#include <stdlib.h>

using namespace std;

void handler(int sig)
{
    cout << "get sig: " << sig << endl;
}

// int main()
// {
//     //signal(2, handler);

//     while (true)
//     {
//         //cout << "waiting for sig..." << endl;
//         //sleep(1);
//     }

//     return 0;
// }

// int main()
// {
//     abort();
// }

int main()
{
    alarm(5);
    sleep(3);
    int ret = alarm(10);
    cout << "alarm: 5, sleep: 3, alarm: 10, ret: " << ret << endl;
    sleep(5);
    ret = alarm(0);
    cout << "sleep: 5, alarm: 0, ret: " << ret << endl
         << "alarm: 5" << endl;
    alarm(5);
    sleep(10);

    return 0;
}